package Client.PokerClient.src;

import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

/**
 * Klasa okna polaczenie do serwera.
 * @author Artur Smolibowski
 */
public class ServerConnectionWindow {
  /**
   * Referencja do klasy glownej okna.
   */
  private JFrame window;
  /**
   * Szerokosc okna.
   */
  private int windowWidth;
  /**
   * Dlugosc okna.
   */
  private int windowHeight;

  /** Label adresu serwera */
  private JLabel labSerAdr;
  /** Label adresu portu */
  private JLabel labPort;
  /** Przycisk sluzacy do polaczenia sie z serverem */
  private JButton butPolacz;
  /** Pole tekstowe w ktorym wpisywany jest adres serwera */
  private JTextField texSerAdr;
  /** Pole tekstowe w ktorym wpisywany jest port serwera */
  private JTextField texPort;

  /** Przycisk slozacy do powrotu */
  private JButton butBack;
  /**
   * Konstruktor klasy.
   * @param window Referencja do klasy glownej.
   * @param windowWidth Szerokosc okna.
   * @param windowHeight Dlugosc okna.
   */
  ServerConnectionWindow(JFrame window, int windowWidth, int windowHeight) {
    labSerAdr = new JLabel("Adres serwera: ");
    labPort = new JLabel("Port serwera: ");
    butBack = new JButton("Back");
    butPolacz = new JButton("Polacz");
    texSerAdr = new JTextField("127.0.0.1");
    texPort = new JTextField("4444");

	this.window=window;
    this.windowWidth=windowWidth;
    this.windowHeight=windowHeight;
  }
  /**
   * Dodanie ActionListenera do klasy.
   * @param listener ActionListener do klasy ServerConnectionWindow.
   */
  public void addActionListener(ServerConnectionListener listener) {
    butBack.addActionListener(listener);
    butPolacz.addActionListener(listener);
  }
  /**
   * Wyswietlenie okna polaczenie do serwera.
   */
  public void ChangeWindow() {
    window.getContentPane().removeAll();
    window.setLocationRelativeTo(null);

    window.setLayout(new GridLayout(3,2));
    window.add(labSerAdr); window.add(texSerAdr);
    window.add(labPort);   window.add(texPort);
    window.add(butBack);   window.add(butPolacz);

    window.revalidate();
    window.repaint();
  }
  /**
   * Pobranie przycisku powrotu.
   * @return Przycisk powrotu.
   */
  public JButton getBack() {
    return butBack;
  }
  /**
   * Pobranie przycisku polaczenie do serwera.
   * @return Przycisk polaczenia do serwera.
   */
  public JButton getPolacz() {
    return butPolacz;
  }
  /**
   * Pobranie pola tekstowego z adresem serwera.
   * @return Pole tekstowe z adresem serwera.
   */
  public JTextField getSerAdr() {
    return texSerAdr;
  }
  /**
   * Pobranie pola tekstowego z portem serwera.
   * @return Pole tekstowe z portem serwera.
   */
  public JTextField getPort() {
    return texPort;
  }
}
